package com.situ.boot.test;

import org.junit.Test;

public class OOPDemo {

    // OOP: 面向对象编程
    @Test
    public void test1() {
        Student student = new Student(1, "张三", 23, "Java1912");
        System.out.println(student);
        System.out.println(student.toString());
        student.study();
        student.show();

        // 前面声明的变量不一定非得是抽象类或者接口，只要是父类都可以
        // 站在人的角度去看这个学生,所以只能看到study()这个方法
        Person person = new Student(2, "张三2", 23, "Java1912");
        //person.study();
        person.show();
        // 这个person确实是指向new出来的一个Student对象，所以可以强制转换成一个Student对象,
        // 这样就可以调用这个Student对象里面的study()方法
        ((Student)person).study();

    }
}
